home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / mc302emb.zip / LIBCF / MEMORY.ASM < prev    next >
Assembly Source File  |  1994-03-18  |  584b  |  30 lines

  1. *
  2. * Set memory to a specified value: memset(block, value, size)
  3. *
  4. memset    LDI    6,S        Get pointer
  5. ?1    LD    2,S        Get size
  6.     SJZ    ?2        Zero, exit
  7.     DEC            Backup
  8.     ST    2,S        Resave
  9.     LD    4,S        Get value
  10.     STB    I        Write to memory
  11.     LEAI    1,I        Advance
  12.     SJMP    ?1        And proceed
  13. *
  14. * Copy memory: memcpy(dest, source, size)
  15. *
  16. memcpy    LD    2,S        Get size
  17.     SJZ    ?2        Zero, exit
  18.     DEC            Reduce count
  19.     ST    2,S        Resave
  20.     LDI    4,S        Get source
  21.     LDB    I        Get byte
  22.     LEAI    1,I        Advance
  23.     STI    4,S        Resave
  24.     LDI    6,S        Get dest
  25.     STB    I        Write byte
  26.     LEAI    1,I        Advance
  27.     STI    6,S        Resave
  28.     SJMP    memcpy        And proceed
  29. ?2    RET
  30.